Code coverage report for src/map-observation.js

Statements: 46.51% (20 / 43)      Branches: 41.67% (5 / 12)      Functions: 50% (7 / 14)      Lines: 44.44% (16 / 36)      Ignored: none     

All files » src/ » map-observation.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 811     1   1   1   1   1       1   1   1   1     1   1 1           1   1                                                                               1          
System.register(['core-js', './map-change-records', './collection-observation'], function (_export) {
  'use strict';
 
  var core, getChangeRecords, ModifyCollectionObserver, mapProto, ModifyMapObserver;
 
  _export('getMapObserver', getMapObserver);
 
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
 
  function _inherits(subClass, superClass) { Iif (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); Eif (superClass) subClass.__proto__ = superClass; }
 
  function getMapObserver(taskQueue, map) {
    return ModifyMapObserver.create(taskQueue, map);
  }
 
  return {
    setters: [function (_coreJs) {
      core = _coreJs['default'];
    }, function (_mapChangeRecords) {
      getChangeRecords = _mapChangeRecords.getChangeRecords;
    }, function (_collectionObservation) {
      ModifyCollectionObserver = _collectionObservation.ModifyCollectionObserver;
    }],
    execute: function () {
      mapProto = Map.prototype;
 
      ModifyMapObserver = (function (_ModifyCollectionObserver) {
        function ModifyMapObserver(taskQueue, map) {
          _classCallCheck(this, ModifyMapObserver);
 
          _ModifyCollectionObserver.call(this, taskQueue, map);
        }
 
        _inherits(ModifyMapObserver, _ModifyCollectionObserver);
 
        ModifyMapObserver.create = function create(taskQueue, map) {
          var observer = new ModifyMapObserver(taskQueue, map);
 
          map['set'] = function () {
            var oldValue = map.get(arguments[0]);
            var type = oldValue ? 'update' : 'add';
            var methodCallResult = mapProto['set'].apply(map, arguments);
            observer.addChangeRecord({
              type: type,
              object: map,
              key: arguments[0],
              oldValue: oldValue
            });
            return methodCallResult;
          };
 
          map['delete'] = function () {
            var oldValue = map.get(arguments[0]);
            var methodCallResult = mapProto['delete'].apply(map, arguments);
            observer.addChangeRecord({
              type: 'delete',
              object: map,
              key: arguments[0],
              oldValue: oldValue
            });
            return methodCallResult;
          };
 
          map['clear'] = function () {
            var methodCallResult = mapProto['clear'].apply(map, arguments);
            observer.addChangeRecord({
              type: 'clear',
              object: map
            });
            return methodCallResult;
          };
 
          return observer;
        };
 
        return ModifyMapObserver;
      })(ModifyCollectionObserver);
    }
  };
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9FaXNlbmJlcmdFZmZlY3QvRG9jdW1lbnRzL0dpdEh1Yi9UaGUgRHVyYW5kYWwgUHJvamVjdC9hdXJlbGlhL2JpbmRpbmcvc3JjL21hcC1vYnNlcnZhdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7d0RBSUksUUFBUSxFQU1OLGlCQUFpQjs7NEJBSlAsY0FBYzs7Ozs7O0FBQXZCLFdBQVMsY0FBYyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUM7QUFDNUMsV0FBTyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0dBQ2pEOzs7Ozs7MkNBUE8sZ0JBQWdCOzt3REFDaEIsd0JBQXdCOzs7QUFFNUIsY0FBUSxHQUFHLEdBQUcsQ0FBQyxTQUFTOztBQU10Qix1QkFBaUI7QUFDVixpQkFEUCxpQkFBaUIsQ0FDVCxTQUFTLEVBQUUsR0FBRyxFQUFDO2dDQUR2QixpQkFBaUI7O0FBRW5CLCtDQUFNLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUN2Qjs7a0JBSEcsaUJBQWlCOztBQUFqQix5QkFBaUIsQ0FLZCxNQUFNLEdBQUEsZ0JBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtBQUM1QixjQUFJLFFBQVEsR0FBRyxJQUFJLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQzs7QUFFckQsYUFBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLFlBQVk7QUFDdkIsZ0JBQUksUUFBUSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsZ0JBQUksSUFBSSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsS0FBSyxDQUFDO0FBQ3ZDLGdCQUFJLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzdELG9CQUFRLENBQUMsZUFBZSxDQUFDO0FBQ3ZCLGtCQUFJLEVBQUUsSUFBSTtBQUNWLG9CQUFNLEVBQUUsR0FBRztBQUNYLGlCQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUNqQixzQkFBUSxFQUFFLFFBQVE7YUFDbkIsQ0FBQyxDQUFDO0FBQ0gsbUJBQU8sZ0JBQWdCLENBQUM7V0FDekIsQ0FBQTs7QUFFRCxhQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsWUFBWTtBQUMxQixnQkFBSSxRQUFRLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxnQkFBSSxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNoRSxvQkFBUSxDQUFDLGVBQWUsQ0FBQztBQUN2QixrQkFBSSxFQUFFLFFBQVE7QUFDZCxvQkFBTSxFQUFFLEdBQUc7QUFDWCxpQkFBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDakIsc0JBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUMsQ0FBQztBQUNILG1CQUFPLGdCQUFnQixDQUFDO1dBQ3pCLENBQUE7O0FBRUQsYUFBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLFlBQVk7QUFDekIsZ0JBQUksZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDL0Qsb0JBQVEsQ0FBQyxlQUFlLENBQUM7QUFDdkIsa0JBQUksRUFBRSxPQUFPO0FBQ2Isb0JBQU0sRUFBRSxHQUFHO2FBQ1osQ0FBQyxDQUFDO0FBQ0gsbUJBQU8sZ0JBQWdCLENBQUM7V0FDekIsQ0FBQTs7QUFFRCxpQkFBTyxRQUFRLENBQUM7U0FDakI7O2VBM0NHLGlCQUFpQjtTQUFTLHdCQUF3QiIsImZpbGUiOiIvVXNlcnMvRWlzZW5iZXJnRWZmZWN0L0RvY3VtZW50cy9HaXRIdWIvVGhlIER1cmFuZGFsIFByb2plY3QvYXVyZWxpYS9iaW5kaW5nL3NyYy9tYXAtb2JzZXJ2YXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY29yZSBmcm9tICdjb3JlLWpzJztcbmltcG9ydCB7Z2V0Q2hhbmdlUmVjb3Jkc30gZnJvbSAnLi9tYXAtY2hhbmdlLXJlY29yZHMnO1xuaW1wb3J0IHtNb2RpZnlDb2xsZWN0aW9uT2JzZXJ2ZXJ9IGZyb20gJy4vY29sbGVjdGlvbi1vYnNlcnZhdGlvbic7XG5cbnZhciBtYXBQcm90byA9IE1hcC5wcm90b3R5cGU7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXBPYnNlcnZlcih0YXNrUXVldWUsIG1hcCl7XG4gIHJldHVybiBNb2RpZnlNYXBPYnNlcnZlci5jcmVhdGUodGFza1F1ZXVlLCBtYXApO1xufVxuXG5jbGFzcyBNb2RpZnlNYXBPYnNlcnZlciBleHRlbmRzIE1vZGlmeUNvbGxlY3Rpb25PYnNlcnZlciB7XG4gIGNvbnN0cnVjdG9yKHRhc2tRdWV1ZSwgbWFwKXtcbiAgICBzdXBlcih0YXNrUXVldWUsIG1hcCk7XG4gIH1cblxuICBzdGF0aWMgY3JlYXRlKHRhc2tRdWV1ZSwgbWFwKSB7XG4gICAgdmFyIG9ic2VydmVyID0gbmV3IE1vZGlmeU1hcE9ic2VydmVyKHRhc2tRdWV1ZSwgbWFwKTtcblxuICAgIG1hcFsnc2V0J10gPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgb2xkVmFsdWUgPSBtYXAuZ2V0KGFyZ3VtZW50c1swXSk7XG4gICAgICB2YXIgdHlwZSA9IG9sZFZhbHVlID8gJ3VwZGF0ZScgOiAnYWRkJztcbiAgICAgIHZhciBtZXRob2RDYWxsUmVzdWx0ID0gbWFwUHJvdG9bJ3NldCddLmFwcGx5KG1hcCwgYXJndW1lbnRzKTtcbiAgICAgIG9ic2VydmVyLmFkZENoYW5nZVJlY29yZCh7XG4gICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgIG9iamVjdDogbWFwLFxuICAgICAgICBrZXk6IGFyZ3VtZW50c1swXSxcbiAgICAgICAgb2xkVmFsdWU6IG9sZFZhbHVlXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBtZXRob2RDYWxsUmVzdWx0O1xuICAgIH1cblxuICAgIG1hcFsnZGVsZXRlJ10gPSBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgb2xkVmFsdWUgPSBtYXAuZ2V0KGFyZ3VtZW50c1swXSk7XG4gICAgICB2YXIgbWV0aG9kQ2FsbFJlc3VsdCA9IG1hcFByb3RvWydkZWxldGUnXS5hcHBseShtYXAsIGFyZ3VtZW50cyk7XG4gICAgICBvYnNlcnZlci5hZGRDaGFuZ2VSZWNvcmQoe1xuICAgICAgICB0eXBlOiAnZGVsZXRlJyxcbiAgICAgICAgb2JqZWN0OiBtYXAsXG4gICAgICAgIGtleTogYXJndW1lbnRzWzBdLFxuICAgICAgICBvbGRWYWx1ZTogb2xkVmFsdWVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG1ldGhvZENhbGxSZXN1bHQ7XG4gICAgfVxuXG4gICAgbWFwWydjbGVhciddID0gZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIG1ldGhvZENhbGxSZXN1bHQgPSBtYXBQcm90b1snY2xlYXInXS5hcHBseShtYXAsIGFyZ3VtZW50cyk7XG4gICAgICBvYnNlcnZlci5hZGRDaGFuZ2VSZWNvcmQoe1xuICAgICAgICB0eXBlOiAnY2xlYXInLFxuICAgICAgICBvYmplY3Q6IG1hcFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gbWV0aG9kQ2FsbFJlc3VsdDtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JzZXJ2ZXI7XG4gIH1cbn1cbiJdfQ==